package com.fywsy.fyweb.strategy;

import com.fywsy.fyweb.entity.SendItem;
import com.fywsy.fyweb.utils.RestTemplateUtil;
import org.springframework.stereotype.Component;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;

/**
 * 游戏后台实现类
 * 注解gameId对应数据库游戏id
 * 注解GongnengMethod对应数据库功能id
 */
@Component
@GameId(72)
public class FanlanhyGameStrategy extends BaseGameStrategy {

    public static final String URL = "http://114.66.45.129:88/gmss/user/gmquery.php";

    /**
     * type: clearmail
     * uid: 30109000
     * qu: 1
     * checknum: lyzwlkj.vip
     *
     * @param item
     * @return
     */
    @GongnengMethod(7201)
    public String clear(SendItem item) {
        MultiValueMap<String,String> params = new LinkedMultiValueMap<>();
        params.add("checknum", "diyao88");
        params.add("type", "clearmail");
        params.add("qu", "1");

        params.add("uid", item.uid);

        return RestTemplateUtil.sendPostForm(URL, params) + "，请重启游戏！";
    }


    /**
     * type: charge
     * uid: 30109000
     * qu: 1
     * chargetype: 6001
     * checknum: lyzwlkj.vip
     * chargenum: 4
     *
     * @param item
     * @return
     */
    @GongnengMethod(7202)
    public String pay(SendItem item) {
        MultiValueMap<String,String> params = new LinkedMultiValueMap<>();
        params.add("checknum", "diyao88");
        params.add("chargetype", "6001");
        params.add("type", "charge");
        params.add("qu", "1");

        params.add("uid", item.uid);
        params.add("chargenum", item.number);

        return RestTemplateUtil.sendPostForm(URL, params);
    }

    /**
     * rq: gmquery
     * type: daoju
     * uid: 30109000
     * item: 1;11001
     * num: 2
     * qu: 1
     * checknum: lyzwlkj.vip
     * itemtype: 1
     * title: GM邮件
     * content: GM送您一朵小红花，祝您游戏愉快！
     *
     * @param item
     * @return
     */
    @GongnengMethod(7203)
    public String mail(SendItem item) {
        MultiValueMap<String,String> params = new LinkedMultiValueMap<>();
        params.add("title", "GM邮件");
        params.add("content", "GM送您一朵小红花，祝您游戏愉快！");
        params.add("rq", "gmquery");
        params.add("checknum", "diyao88");
        params.add("type", "daoju");
        params.add("qu", "1");
        params.add("itemtype", "1");

        params.add("uid", item.uid);
        params.add("num", item.number);
        params.add("item", item.itemId);
        String s = RestTemplateUtil.sendPostFormAndGetJsonKey(URL, params, "result");
        return "0".equals(s) ? "发送成功" : "发送失败";
    }

    /**
     * rq: gmquery
     * type: daoju
     * uid: 30109000
     * item: 2;514014
     * num: 2
     * qu: 1
     * checknum: lyzwlkj.vip
     * itemtype: 2
     * title: GM邮件
     * content: GM送您一朵小红花，祝您游戏愉快！
     *
     * @param item
     * @return
     */
    @GongnengMethod(7204)
    public String zhuangbei(SendItem item) {
        MultiValueMap<String,String> params = new LinkedMultiValueMap<>();
        params.add("title", "GM邮件");
        params.add("content", "GM送您一朵小红花，祝您游戏愉快！");
        params.add("rq", "gmquery");
        params.add("checknum", "diyao88");
        params.add("type", "daoju");
        params.add("qu", "1");
        params.add("itemtype", "2");

        params.add("uid", item.uid);
        params.add("num", item.number);
        params.add("item", item.itemId);

        String s = RestTemplateUtil.sendPostFormAndGetJsonKey(URL, params, "result");
        return "0".equals(s) ? "发送成功" : "发送失败";
    }


    @GongnengMethod(7205)
    public String yssj(SendItem item) {
        MultiValueMap<String,String> params = new LinkedMultiValueMap<>();
        params.add("title", "GM邮件");
        params.add("content", "GM送您一朵小红花，祝您游戏愉快！");
        params.add("rq", "gmquery");
        params.add("checknum", "diyao88");
        params.add("type", "daoju");
        params.add("qu", "1");
        params.add("itemtype", "3");

        params.add("uid", item.uid);
        params.add("num", item.number);
        params.add("item", item.itemId);

        String s = RestTemplateUtil.sendPostFormAndGetJsonKey(URL, params, "result");
        return "0".equals(s) ? "发送成功" : "发送失败";
    }


    @GongnengMethod(7206)
    public String bs(SendItem item) {
        MultiValueMap<String,String> params = new LinkedMultiValueMap<>();
        params.add("title", "GM邮件");
        params.add("content", "GM送您一朵小红花，祝您游戏愉快！");
        params.add("rq", "gmquery");
        params.add("checknum", "diyao88");
        params.add("type", "daoju");
        params.add("qu", "1");
        params.add("itemtype", "4");

        params.add("uid", item.uid);
        params.add("num", item.number);
        params.add("item", item.itemId);

        String s = RestTemplateUtil.sendPostFormAndGetJsonKey(URL, params, "result");
        return "0".equals(s) ? "发送成功" : "发送失败";
    }


    @GongnengMethod(7207)
    public String zbcl(SendItem item) {
        MultiValueMap<String,String> params = new LinkedMultiValueMap<>();
        params.add("title", "GM邮件");
        params.add("content", "GM送您一朵小红花，祝您游戏愉快！");
        params.add("rq", "gmquery");
        params.add("checknum", "diyao88");
        params.add("type", "daoju");
        params.add("qu", "1");
        params.add("itemtype", "5");

        params.add("uid", item.uid);
        params.add("num", item.number);
        params.add("item", item.itemId);

        String s = RestTemplateUtil.sendPostFormAndGetJsonKey(URL, params, "result");
        return "0".equals(s) ? "发送成功" : "发送失败";
    }

    public static void main(String[] args) {
        SendItem item = new SendItem();
        item.uid = "30109000";
        item.number = "200";
        item.itemId = "1;23102";
        System.out.println(new FanlanhyGameStrategy().mail(item));
    }
}

